/*************************************************************************
	> File Name: oj-328.cpp
	> Author: Wang Bo
	> Mail: 1276106221@qq.com
	> Created Time: 2021年01月12日 星期二 19时28分23秒
 ************************************************************************/
#include <iostream>

using namespace std;
#define MAX_N 200000
long long c[MAX_N + 5];
long long n, val[MAX_N + 5];
#define lowbit(x) (x & -x)

void add(long long i, long long x, long long n) {
    while (i <= n) {
        c[i] += x;
        i += lowbit(i);
    }
}

long long query(long long i) {
    long long sum = 0;
    while (i) {
        sum += c[i];
        i -= lowbit(i);
    }
    return sum;
}

void read() {
    cin >> n;
    for (long long i = 1; i <= n; ++i) {
        cin >> val[i];
    }
}

// a 代表v的个数 b代表^的个数
void solve(long long &a, long long &b) {
    a = b = 0;
    for (long long i = 1; i <= n; ++i) {
        long long a1 = query(val[i]); //前面比它小的数字数量
        long long a2 = val[i] - a1 - 1; //后面比它小的数字数量
        long long b1 = i - a1 - 1; //前面比它大的数字数量
        long long b2 = n - val[i] - b1; //后面比它大的数字数量
        a += b1 * b2;
        b += a1 * a2;
        add(val[i], 1, n);
    }
    return ;
}

int main() {
    read();
    long long a, b;
    solve(a, b);
    cout << a << " " << b << endl;
    return 0;
}
